package com.project.service;

import com.github.pagehelper.PageInfo;
import com.project.bean.RoleBean;
import com.project.bean.UserBean;

import java.util.List;

/**
 * 用户业务接口
 */
public interface IUserService {
    int PAGESIZE = 3;
    /**
     * 登陆，如果登陆成功，同时查询权限集合
     * @param userName 用户名
     * @param pwd 密码
     * @return 登陆用户，如果登陆失败返回null
     */
    public UserBean login(String userName,String pwd);

    /**
     * 动态条件分页查询用户，同时查询每个用户的角色集合
     * @param pageNO 页码
     * @param userName 用户名
     * @return 分页对象
     */
    public PageInfo<UserBean> findByItem(int pageNO,String userName);

    /**
     * 添加用户，同时添加该用户的角色
     * @param user 用户对象
     * @param roleArray 角色ID数组
     */
    public void addUser(UserBean user, int[] roleArray );
    /**
     * 删除用户，同时删除该用户和角色的中间表信息
     * @param id 用户ID
     */
    public void delUser(int id);

    /**
     * 按ID查询用户信息，同时查询该用户的角色和权限集合
     * @param id 用户ID
     * @return 用户对象
     */
    public UserBean findById(int id);

    /**
     * 修改用户角色
     * @param id 用户ID
     * @param roleArray 角色ID数组
     */
    public void updateUserGrade(int id,int[] roleArray);
}
